package stm.liyiruo.sign2pdf.service;

import com.itextpdf.text.DocumentException;
import stm.liyiruo.sign2pdf.config.PDFConfig;

import java.io.IOException;

/**
 * @author liyiruo
 * @Description
 * @Date 2021/8/11 下午3:44
 */
public interface IPDFService {
    /**
     * 传入需要的参数，返回一个pdfbase64字符串
     *
     * @param config
     * @return
     * @throws IOException
     * @throws DocumentException
     */
    String signPdfBase64(PDFConfig config) throws IOException, DocumentException;

    /**
     * 将base64文件字符串 写到指定的位置
     *
     * @param base64Str 文件base64的字符串
     * @param dist      文件的输出全路径
     * @return
     */
    void saveBase64ToDist(String base64Str, String dist) throws IOException, Exception;

    /**
     * 将指定位置的文件读成base64字符串,并返回
     *
     * @param src
     * @return base64字符串
     */
    String getBase64StrFromSrc(String src);

    /**
     * 测试返回配置文件里的值
     * @return
     */
    PDFConfig getData();
}
